package cn.com.nes.site.service.workOrder.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 查询安装工单列表(全部公司)
 */
@Data
public class GetAllWorkOrderPageDTO {

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @ApiModelProperty(value = "订单状态:1-待支援，2-处理中，6-已完成")
    private Integer orderStatus;

    @ApiModelProperty(value = "订单状态描述")
    private String orderStatusDesc;

    @ApiModelProperty(value = "服务状态:0-待处理，显示转单、签到、导航，1-已打卡，显示转单、完成，3-待接单，显示拒单、待接单")
    private Integer orderServiceStatus;

    @ApiModelProperty(value = "订单服务状态描述")
    private String orderServiceStatusDesc;

    @ApiModelProperty(value = "订单创建时间, 格式：yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date orderCreateTime;

    @ApiModelProperty(value = "公司ID")
    private Long companyId;

    @ApiModelProperty(value = "订单创建来源")
    private String orderCreateSource;

    @ApiModelProperty(value = "报修人")
    private String repairUser;

    @ApiModelProperty(value = "报修人电话")
    private String repairUserPhone;

    @ApiModelProperty(value = "报修人地址")
    private String repairUserAddress;

    @ApiModelProperty(value = "报修问题描述")
    private String repairDesc;

    @ApiModelProperty(value = "创建人")
    private Long createUserId;

    @ApiModelProperty(value = "订单创建人姓名")
    private String orderCreateUserName;

    @ApiModelProperty(value = "任务类型ID")
    private Long workTypeId;

    @ApiModelProperty(value = "任务类型")
    private String workTypeDesc;

    @ApiModelProperty(value = "紧急程度ID")
    private Integer emergencyDegreeId;

    @ApiModelProperty(value = "紧急程度描述")
    private String emergencyDegreeDesc;

    @ApiModelProperty(value = "安装工单名称")
    private String workOrderName;

    @ApiModelProperty(value = "工单类型")
    private String workOrderType;

    @ApiModelProperty(value = "项目id")
    private String projectId;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "系统类型")
    private Integer systemType;

    @ApiModelProperty(value = "设备信息")
    private List<InstallOrderEquipmentDTO> installOrderEquipments;

    @ApiModelProperty(value = "是否需要操作工单 true-需要 false-不需要")
    private Boolean needToOperate;

    @ApiModelProperty(value = "是否可以撤销")
    private Boolean canCancel = false;

    @ApiModelProperty(value = "处理人id")
    private Long maintainId;

    @ApiModelProperty(value = "施工人员姓名")
    private String installUserName;

    @ApiModelProperty(value = "施工人员电话")
    private String installUserPhone;

    // 扩展字段
    private Boolean isRejectAnOrder; // 是否拒过单
}
